/**
 * Copyright (c) 2018 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package io.chenglicun.modules.sys.excel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

/**
 * Excel模板读取类
 *
 * @author Mark sunlightcs@gmail.com
 */

public class ExcelDataOwnerInfoListener<T> extends AnalysisEventListener<T> {


    List<T> addList = new ArrayList<>();

    /**
     * 每解析一行都会回调invoke()方法
     * @param context 内容
     */

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        //解析结束销毁不用的资源
        //注意不要调用datas.clear(),否则getDatas为null
    }


    @Override
    public void invoke(T t, AnalysisContext analysisContext) {

        addList.add(t);
    }

    /**
     * 返回数据
     *
     * @return 返回读取的数据集合
     **/
    public List<T> getDatas() {
        return addList;
    }

    /**
     * 设置读取的数据集合
     *
     * @param datas 设置读取的数据集合
     **/
    public void setDatas(List<T> datas) {
        this.addList = datas;
    }
}